using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;
using Entidades;

namespace Negocio
{
    public class GerarConstantesNegocio
    {

        public void gerarConsta(Hashtable hs, String path, string projeto, string modulo) 
        {
            StreamWriter file = File.CreateText(path+"ConstantesBanco.cs");
            UtilsNegocio.geraCabecalho(file,projeto,modulo);
            file.WriteLine("using System;");
            file.WriteLine("using System.Collections.Generic;");
            file.WriteLine("using System.Text;");
            file.WriteLine("using System.Data;");
            file.WriteLine("namespace Comuns"+projeto);
            file.WriteLine("\t{");
            file.WriteLine("\t\t/// <summary>");
            file.WriteLine("\t\t///  Constantes do projeto " + projeto);
            file.WriteLine("\t\t/// </summary>");
            file.WriteLine("\t\tpublic class ConstantesBanco ");
            file.WriteLine("\t\t\t{");

            foreach (string key in hs.Keys)
            {
                String nomeTable = key.ToUpper();
                nomeTable = nomeTable.Insert(2, "_");
                file.WriteLine("\t\t\t\t public const string " + nomeTable + "_NOME_TABELA = \"" + key + "\";");
                TabelaEntidades tb = (TabelaEntidades)hs[key];
                foreach (ColunasEntidade var in tb.Colunas)
                {
                    string coluna = var.NomeColuna.ToUpper();
                    file.WriteLine("\t\t\t\t public const string " + nomeTable + "_" + coluna + "= \"" + coluna + "\";");
                }
                file.WriteLine("");
            }
           
            file.WriteLine("\t\t\t}");
            file.WriteLine("\t}");
            file.Flush();
            file.Close();
        }
    }
}
